#include "Algebre/Fonction.hpp"

#include <iostream>
#include <cmath>

#include <boost/numeric/ublas/io.hpp>

using namespace std;
using namespace boost::numeric::ublas;

double f1( const double& f, const double& t )
{
  return cos( f );
}

double f2( const double& f, const double& t )
{
  return f;
}

int main()
{
  CalculIntegral::MatriceFct fcts( 2, 1 );

  fcts( 0, 0 ) = f1;
  fcts( 1, 0 ) = f2;

  CalculIntegral::Fonction maFct( fcts );
  
  VecteurBase vec( 2 );

  vec( 0 ) = acos( -1. );
  vec( 1 ) = 42;

  CalculIntegral::Point pt( vec ), temps( 1. );

  MatriceBase res;

  res = maFct( pt, temps );

  cout << "f( " << vec << " ) = " << res << endl;

  return 0;
}
